Load task allows implementing custom asynchronous resource loading. More...
Public Member Functions | |
LoadTask () | |
Construct a ResourceLoadTask of type LoadAndFinish. | |
LoadTask (ResourceLoadTaskType type) | |
Construct a ResourceLoadTask with the provided task type. More... | |
void | close () |
Closes the object, and releases the resources. | |
abstract void | finishFunction () |
The part of the loading that the main thread executes. More... | |
abstract ObjectRef<?extends Resource > | getResult () |
Returns an owning reference to the created resource. More... | |
final ResourceLoadTaskType | getType () |
Get the type of a load task. More... | |
void | loadFunction () |
You can override this function to define the part of the resource loading task that a worker thread executes. More... | |
Protected Member Functions | |
final void | enqueueDependencies (String[] urls) |
Add resource dependencies for the load task. More... | |
final ResourceManager | getResourceManager () |
Get the resource manager of a load task. More... | |
Load task allows implementing custom asynchronous resource loading.
A load task is split into an optional LoadTask#loadFunction and mandatory LoadTask#finishFunction. Kanzi can execute the LoadTask#loadFunction in a background worker thread, instead of the main thread. For this reason, perform here only thread-independent work. Kanzi calls the LoadTask#loadFunction in the main thread. The load task execution happens in this order:
LoadTask | ( | ResourceLoadTaskType | type | ) |
Construct a ResourceLoadTask with the provided task type.
type | The task type that configures which task functions are called. |
|
protected |
Add resource dependencies for the load task.
Can be called any number of times inside a LoadTask#loadFunction implementation. Informs the main thread of the dependencies, which can then trigger their async loading.
urls | Array of dependency urls. |
|
abstract |
The part of the loading that the main thread executes.
The function creates and stores a new resource that LoadTask#getResult() returns.
|
protected |
Get the resource manager of a load task.
Returns an owning reference to the created resource.
final ResourceLoadTaskType getType | ( | ) |
Get the type of a load task.
void loadFunction | ( | ) |
You can override this function to define the part of the resource loading task that a worker thread executes.
You cannot access any shared data inside the function.